#include <afxtempl.h>
#include <vector>

using namespace std;

typedef vector<INT> _CARRAY_INT;
typedef _CARRAY_INT CARRAY_INT;

typedef vector<FLOAT> _CARRAY_FLOAT;
typedef _CARRAY_FLOAT CARRAY_FLOAT;

typedef vector<CString> _CARRAY_CSTRING;
typedef _CARRAY_CSTRING CARRAY_CSTRING;

struct _POINT_2D
{
	float x;
	float y;

	inline _POINT_2D operator=(_POINT_2D p)
	{
		x = p.x;
		y = p.y;
	}
};

typedef struct _POINT_2D POINT_2D, *LPPOINT_2D;


// dynamical 2D array. 1st dimension's POINT_2D
typedef vector<POINT_2D> _VIZ_DATA;
typedef _VIZ_DATA VIZ_DATA, LPVIZ_DATA;

// dynamical 2D array with float element
typedef vector<CARRAY_FLOAT> _INPUT_DATA;
typedef vector<CARRAY_INT> _OUTPUT_DATA;

typedef _INPUT_DATA		INPUT_DATA, *LPINPUT_DATA;
typedef _OUTPUT_DATA	OUTPUT_DATA, *LPOUTPUT_DATA;

// CString Array to keep Label of data sample.
typedef CARRAY_CSTRING LABEL_DATA;



